#include <bits/stdc++.h>
using namespace std;
int horse_tian[200005]; // 田忌的马
int horse_qi[200005];   // 齐王的马
int main() {
  int n;
  cin >> n;
  for (int i = 1; i <= n; i++) {
    scanf("%d", &horse_tian[i]);
  }
  for (int i = 1; i <= n; i++) {
    scanf("%d", &horse_qi[i]);
  }
  sort(horse_tian + 1, horse_tian + n + 1);
  sort(horse_qi + 1, horse_qi + n + 1);
  int a1 = 1;         // 田忌的慢马
  int a2 = n;         // 田忌的快马
  int b1 = 1;         // 齐王的慢马
  int b2 = n;         // 齐王的快马
  int qw_win_cnt = 0; // 齐王胜利次数
  int tj_win_cnt = 0; // 田忌胜利次数
  while (a1 <= a2) {  // 只要还有马
    if (horse_tian[a1] > horse_qi[b1]) {
      // 田忌最慢的马比齐王最慢的马快，赢他
      a1++;
      b1++;
      tj_win_cnt++;
    } else if (horse_tian[a1] < horse_qi[b1]) {
      // 田忌最慢的马比齐王最慢的马慢，消耗齐王最快的马
      a1++;
      b2--;
      qw_win_cnt++;
    } else if (horse_tian[a1] == horse_qi[b1]) { // 如果最慢的马一样快
      if (horse_tian[a2] > horse_qi[b2]) {
        // 田忌最快的马比齐王最快的马快，赢他
        a2--;
        b2--;
        tj_win_cnt++;
      } else if (horse_tian[a2] < horse_qi[b2]) {
        // 田忌最快的马比齐王最快的马慢，用最慢的马消耗齐王最快的马
        b2--;
        a1++;
        qw_win_cnt++;
      } else if (horse_tian[a2] == horse_qi[b2]) { // 如果都相等
        if (horse_tian[a1] < horse_qi[b2]) {
          // 用最慢的马消耗齐王最快的马
          qw_win_cnt++;
        }
        b2--;
        a1++;
      }
    }
  }
  cout << tj_win_cnt - qw_win_cnt << endl;
  return 0;
}